<!DOCTYPE html>
<html lang='en'>
<head>
    <meta charset='UTF-8'>
     <meta name='viewport' content='width=device-width, initial-scale=1.0'>
     <title>函数中的arguments</title>
     <link rel='stylesheet' href='//cdnjs.cloudflare.com/ajax/libs/highlight.js/11.6.0/styles/default.min.css'>
     <script src='//cdnjs.cloudflare.com/ajax/libs/highlight.js/11.6.0/highlight.min.js'></script>
</head>
<body>
     <pre>
        <code style='max-height: 400px;'>
            /** 
            * 任意数求和
            * 1、传递实参的个数不确定
            * 2、传递的值是否为有效数字不定
            * ==> 把传递的有效数字进行相加求和
            * 
            * arguments 函数内置的实参集合
            * arguments 是一个类数组 ==> 存储着哈函数所有执行时传递的实参的信息
            * 不论是否传递了实参 arguments都存在 
            */
           function sum(n,m){
               console.log('arguments',arguments,n,m);
               let result = 0
               for(let i in arguments) {
                   result += arguments[i]
               }
               return result
           }   
           let total = sum(10,20,30)
           console.log(total); // 60
           let result = sum(1,1,1,1,1,1,2,3,0,5,6,8,11) // 41
           console.log(result);     
        </code>
     </pre>
     <script> hljs.highlightAll(); </script>
     <script>
            /** 
             * 任意数求和
             * 1、传递实参的个数不确定
             * 2、传递的值是否为有效数字不定
             * ==> 把传递的有效数字进行相加求和
             * 
             * arguments 函数内置的实参集合
             * arguments 是一个类数组 ==> 存储着哈函数所有执行时传递的实参的信息
             * 不论是否传递了实参 arguments都存在 
             */
            function sum(n,m){
                console.log('arguments',arguments,n,m);
                let result = 0
                for(let i in arguments) {
                    result += arguments[i]
                }
                return result
            }   
            let total = sum(10,20,30)
            console.log(total); // 60
            let result = sum(1,1,1,1,1,1,2,3,0,5,6,8,11) // 41
            console.log(result);
     </script>
</body>
</html>